﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using DTO;
using DAO;
using BUS;
using System.Windows.Forms;

namespace QLKS
{
    public partial class frmLapDanhMucPhong : Form
    {
        public frmLapDanhMucPhong()
        {
            InitializeComponent();
        }
        private void LoadListview()
        {
            lvDSPhong.Items.Clear();

            DataTable dt = PhongDAO.GetAll();

            foreach (DataRow dr in dt.Rows)
            {
                ListViewItem lv = new ListViewItem(dr["MaPhong"].ToString());

                for (int i = 1; i < dt.Columns.Count; i++)
                {
                    lv.SubItems.Add(dr[i].ToString());
                }
                lvDSPhong.Items.Add(lv);
            }
        }
        private void frmLapDanhMucPhong_Load(object sender, EventArgs e)
        {
            LoadListview();

            DataTable dt1 = LoaiPhongDAO.LayLoaiPhong();
            foreach (DataRow dr in dt1.Rows)
            {
                cbbLoaiPhong.Items.Add(dr[0]);
            }

            cbbLoaiPhong.Text = dt1.Rows[0].ItemArray[0].ToString();
        }
        private void btnLapDanhMucPhong_Click(object sender, EventArgs e)
        {
            if (txtTenPhong.Text == "")
            {
                MessageBox.Show("Tên phòng không được để trống", "Thông báo");
                return;
            }
            if (cbbLoaiPhong.SelectedIndex < 0)
            {
                MessageBox.Show("Loại phòng không hợp lệ", "Thông báo");
                return;
            }
            DataTable dt = PhongDAO.GetAll();
            String ten = cbbLoaiPhong.Text;
            DataTable dt1 = LoaiPhongDAO.LoaiPhongTheoTen(ten);
            PhongDTO phong = new PhongDTO();
            phong.TenPhong = txtTenPhong.Text;
            phong.MaLoaiPhong = int.Parse(dt1.Rows[0].ItemArray[0].ToString());
            phong.GhiChu = txtGhiChu.Text;
            phong.TinhTrangPhong = '1';
            DataTable dt2 = PhongDAO.PhongTheoTen(txtTenPhong.Text);
            if (dt2.Rows.Count > 0)
            {
                MessageBox.Show("Tên phòng này đã có, vui lòng chọn tên khác", "Thông báo");
                return;
            }

            if (MessageBox.Show("Bạn có muốn thêm phòng?", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                PhongDAO.InsertPhong(phong);
                MessageBox.Show("Thêm phòng thành công", "Lập danh mục");
            }
            else
            {
                return;
            }

            LoadListview();
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (lvDSPhong.SelectedIndices.Count > 0)
            {
                int index = lvDSPhong.SelectedIndices[0];
                int ma = int.Parse(lvDSPhong.Items[index].SubItems[0].Text);

                lvDSPhong.Items.RemoveAt(index);


                if (MessageBox.Show("Bạn có chắc muốn xoá phòng này?", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    PhongDAO.XoaPhong(ma);
                    MessageBox.Show("Xoá hoàn tất", "Thông báo");
                }
                else
                {
                    return;
                }

                LoadListview();
            }
            else
                MessageBox.Show("Hãy chọn dòng cần xóa", "Thông báo");
        }

        private void btnTaoMoi_Click(object sender, EventArgs e)
        {
            txtTenPhong.Text = "";
            txtTenPhong.Focus();
            txtGhiChu.Text = "";
            cbbLoaiPhong.SelectedIndex = 0;
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
